#ifndef CONFIG_PARSER_H
#define CONFIG_PARSER_H

#include <string>
#include <map>
#include <vector>
#include <filesystem>

class ConfigParser {
public:
    bool load(const std::string& configPath);
    std::string get(const std::string& key, const std::string& defaultValue = "") const;
    void printAll() const;
    bool validatePaths() const;
    
    const std::map<std::string, std::string>& getConfigMap() const {
        return configMap;
    }

private:
    std::map<std::string, std::string> configMap;
    std::vector<std::string> pathKeys = {
        "video_path", "stranger_path", 
        "face_library", "shape_model", "resnet_model"
    };
};

#endif
